﻿
	using System; 
	using System.Collections;
	using System.Collections.Generic ;
	using System.Runtime.Serialization;

namespace UFIDA.U9.Cust.U9Demo.DeliverBE
{
	/// <summary>
	/// 送货单行 缺省DTO 
	/// 
	/// </summary>
	[DataContract(Name = "UFIDA.U9.Cust.U9Demo.DeliverBE.DeliveryLineData", Namespace = "http://www.UFIDA.org/EntityData",IsReference=true)]	
	[Serializable]
    [KnownType("GetKnownTypes")]
	public partial class DeliveryLineData : UFSoft.UBF.Business.DataTransObjectBase
	{

	    public static IList<Type> GetKnownTypes()
        {
            IList<Type> knownTypes = new List<Type>();
            
                        
                        
                        
                        
                        
                                        knownTypes.Add(typeof(UFIDA.U9.Cust.U9Demo.DeliverBE.DeliveryData));
                        
                                        knownTypes.Add(typeof(UFIDA.U9.CBO.SCM.Item.ItemMasterData));
                                        knownTypes.Add(typeof(UFIDA.U9.Base.UOM.UOMData));
                                        knownTypes.Add(typeof(UFIDA.U9.CBO.SCM.Warehouse.WarehouseData));
                        
                        
                        
                        
                        
                                        knownTypes.Add(typeof(UFIDA.U9.PM.PO.POShipLineData));
                                        knownTypes.Add(typeof(UFIDA.U9.Base.FlexField.DescFlexField.DescFlexSegmentsData));
            
                knownTypes.Add(typeof(UFSoft.UBF.Util.Data.MultiLangDataDict));
            return knownTypes;
        }
		/// <summary>
		/// Default Constructor
		/// </summary>
		public DeliveryLineData()
		{
			initData() ;
		}
		private void initData()
		{
			//设置默认值
	     			
	     			
	     			
	     			
	     			
	     							SysVersion= 0; 			     			
	     							DocLineNo= 0; 			     			
	     			
	     			
	     							Qty=0m; 
	     							Price=0m; 
	     							Amount=0m; 
	     							ArrivedQty=0m; 
	     							RcvQty=0m; 
	     			
	     			


			//设置组合的集合属性为List<>对象. -目前直接在属性上处理.
			
			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}		
		[System.Runtime.Serialization.OnDeserializing]
        internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
        {
			 initData();
        }
        
		#region System Fields
		///<summary>
		/// 实体类型. 
		/// </summary>
		[DataMember(IsRequired=false)]
		public override string SysEntityType
		{
			get { return "UFIDA.U9.Cust.U9Demo.DeliverBE.DeliveryLine" ;}
		}
		#endregion


		
		#region Properties Inner Component
	        			
			private UFSoft.UBF.Business.BusinessEntity.EntityKey m_delivery_SKey ;
			/// <summary>
			/// 送货单 序列化Key属性。（传递跨组织序列列字段）
			/// 送货单行.Misc.送货单
			/// </summary>
			[DataMember(IsRequired=false)]
			public UFSoft.UBF.Business.BusinessEntity.EntityKey Delivery_SKey
			{
				get 
				{
					return m_delivery_SKey ;					
				}
				set
				{
					m_delivery_SKey = value ;	
				}
			}
		/// <summary>
		/// 送货单
		/// 送货单行.Misc.送货单
		/// </summary>
		[DataMember(IsRequired=false)]
		private UFIDA.U9.Cust.U9Demo.DeliverBE.DeliveryData m_delivery;
		public UFIDA.U9.Cust.U9Demo.DeliverBE.DeliveryData Delivery
		{
			get	
			{	
				return m_delivery ;
			}
			set	
			{	
				m_delivery = value ;
			}
		}		

			
		#endregion	

		#region Properties Outer Component
		
				/// <summary>
		/// ID
		/// 送货单行.Key.ID
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Int64 m_iD ;
		public System.Int64 ID
		{
			get	
			{	
				return m_iD  ;
			}
			set	
			{	
				m_iD = value ;	
			}
		}
		

				/// <summary>
		/// 创建时间
		/// 送货单行.Sys.创建时间
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.DateTime m_createdOn ;
		public System.DateTime CreatedOn
		{
			get	
			{	
				return m_createdOn  ;
			}
			set	
			{	
				m_createdOn = value ;	
			}
		}
		

				/// <summary>
		/// 创建人
		/// 送货单行.Sys.创建人
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_createdBy ;
		public System.String CreatedBy
		{
			get	
			{	
				return m_createdBy  ;
			}
			set	
			{	
				m_createdBy = value ;	
			}
		}
		

				/// <summary>
		/// 修改时间
		/// 送货单行.Sys.修改时间
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.DateTime m_modifiedOn ;
		public System.DateTime ModifiedOn
		{
			get	
			{	
				return m_modifiedOn  ;
			}
			set	
			{	
				m_modifiedOn = value ;	
			}
		}
		

				/// <summary>
		/// 修改人
		/// 送货单行.Sys.修改人
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_modifiedBy ;
		public System.String ModifiedBy
		{
			get	
			{	
				return m_modifiedBy  ;
			}
			set	
			{	
				m_modifiedBy = value ;	
			}
		}
		

				/// <summary>
		/// 事务版本
		/// 送货单行.Sys.事务版本
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Int64 m_sysVersion ;
		public System.Int64 SysVersion
		{
			get	
			{	
				return m_sysVersion  ;
			}
			set	
			{	
				m_sysVersion = value ;	
			}
		}
		

				/// <summary>
		/// 行号
		/// 送货单行.Misc.行号
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Int32 m_docLineNo ;
		public System.Int32 DocLineNo
		{
			get	
			{	
				return m_docLineNo  ;
			}
			set	
			{	
				m_docLineNo = value ;	
			}
		}
		

		
		private UFSoft.UBF.Business.BusinessEntity.EntityKey m_item_SKey ;
		/// <summary>
		/// 料品 序列化Key属性。（传递跨组织序列列字段）
		/// 送货单行.Misc.料品
		/// </summary>
		[DataMember(IsRequired=false)]
		public UFSoft.UBF.Business.BusinessEntity.EntityKey Item_SKey
		{
			get 
			{
				return m_item_SKey ;					
			}
			set
			{
				 m_item_SKey = value ;	
			}
		}
		/// <summary>
		/// 料品
		/// 送货单行.Misc.料品
		/// </summary>
		[DataMember(IsRequired=false)]
		public System.Int64 Item
		{
			get	
			{	
				if (Item_SKey == null)
					return UFSoft.UBF.Business.Entity.EmptyObjectValue ;
				else
					return Item_SKey.ID ;
			}
			set	
			{	
				if (value == 0 || value == UFSoft.UBF.Business.Entity.EmptyObjectValue )
					Item_SKey = null ;
				else
				{
					if (Item_SKey == null )
						Item_SKey = new UFSoft.UBF.Business.BusinessEntity.EntityKey(value,"UFIDA.U9.CBO.SCM.Item.ItemMaster") ;
					else
						Item_SKey.ID = value ;
				}
			}
		}
		

		
		private UFSoft.UBF.Business.BusinessEntity.EntityKey m_uom_SKey ;
		/// <summary>
		/// 计量单位 序列化Key属性。（传递跨组织序列列字段）
		/// 送货单行.Misc.计量单位
		/// </summary>
		[DataMember(IsRequired=false)]
		public UFSoft.UBF.Business.BusinessEntity.EntityKey Uom_SKey
		{
			get 
			{
				return m_uom_SKey ;					
			}
			set
			{
				 m_uom_SKey = value ;	
			}
		}
		/// <summary>
		/// 计量单位
		/// 送货单行.Misc.计量单位
		/// </summary>
		[DataMember(IsRequired=false)]
		public System.Int64 Uom
		{
			get	
			{	
				if (Uom_SKey == null)
					return UFSoft.UBF.Business.Entity.EmptyObjectValue ;
				else
					return Uom_SKey.ID ;
			}
			set	
			{	
				if (value == 0 || value == UFSoft.UBF.Business.Entity.EmptyObjectValue )
					Uom_SKey = null ;
				else
				{
					if (Uom_SKey == null )
						Uom_SKey = new UFSoft.UBF.Business.BusinessEntity.EntityKey(value,"UFIDA.U9.Base.UOM.UOM") ;
					else
						Uom_SKey.ID = value ;
				}
			}
		}
		

		
		private UFSoft.UBF.Business.BusinessEntity.EntityKey m_wh_SKey ;
		/// <summary>
		/// 存储地点 序列化Key属性。（传递跨组织序列列字段）
		/// 送货单行.Misc.存储地点
		/// </summary>
		[DataMember(IsRequired=false)]
		public UFSoft.UBF.Business.BusinessEntity.EntityKey Wh_SKey
		{
			get 
			{
				return m_wh_SKey ;					
			}
			set
			{
				 m_wh_SKey = value ;	
			}
		}
		/// <summary>
		/// 存储地点
		/// 送货单行.Misc.存储地点
		/// </summary>
		[DataMember(IsRequired=false)]
		public System.Int64 Wh
		{
			get	
			{	
				if (Wh_SKey == null)
					return UFSoft.UBF.Business.Entity.EmptyObjectValue ;
				else
					return Wh_SKey.ID ;
			}
			set	
			{	
				if (value == 0 || value == UFSoft.UBF.Business.Entity.EmptyObjectValue )
					Wh_SKey = null ;
				else
				{
					if (Wh_SKey == null )
						Wh_SKey = new UFSoft.UBF.Business.BusinessEntity.EntityKey(value,"UFIDA.U9.CBO.SCM.Warehouse.Warehouse") ;
					else
						Wh_SKey.ID = value ;
				}
			}
		}
		

				/// <summary>
		/// 送货数量
		/// 送货单行.Misc.送货数量
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Decimal m_qty ;
		public System.Decimal Qty
		{
			get	
			{	
				return m_qty  ;
			}
			set	
			{	
				m_qty = value ;	
			}
		}
		

				/// <summary>
		/// 单价
		/// 送货单行.Misc.单价
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Decimal m_price ;
		public System.Decimal Price
		{
			get	
			{	
				return m_price  ;
			}
			set	
			{	
				m_price = value ;	
			}
		}
		

				/// <summary>
		/// 金额
		/// 送货单行.Misc.金额
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Decimal m_amount ;
		public System.Decimal Amount
		{
			get	
			{	
				return m_amount  ;
			}
			set	
			{	
				m_amount = value ;	
			}
		}
		

				/// <summary>
		/// 到货数量
		/// 送货单行.Misc.到货数量
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Decimal m_arrivedQty ;
		public System.Decimal ArrivedQty
		{
			get	
			{	
				return m_arrivedQty  ;
			}
			set	
			{	
				m_arrivedQty = value ;	
			}
		}
		

				/// <summary>
		/// 收货数量
		/// 送货单行.Misc.收货数量
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Decimal m_rcvQty ;
		public System.Decimal RcvQty
		{
			get	
			{	
				return m_rcvQty  ;
			}
			set	
			{	
				m_rcvQty = value ;	
			}
		}
		

		
		private UFSoft.UBF.Business.BusinessEntity.EntityKey m_srcPOShipLine_SKey ;
		/// <summary>
		/// 来源采购计划行 序列化Key属性。（传递跨组织序列列字段）
		/// 送货单行.Misc.来源采购计划行
		/// </summary>
		[DataMember(IsRequired=false)]
		public UFSoft.UBF.Business.BusinessEntity.EntityKey SrcPOShipLine_SKey
		{
			get 
			{
				return m_srcPOShipLine_SKey ;					
			}
			set
			{
				 m_srcPOShipLine_SKey = value ;	
			}
		}
		/// <summary>
		/// 来源采购计划行
		/// 送货单行.Misc.来源采购计划行
		/// </summary>
		[DataMember(IsRequired=false)]
		public System.Int64 SrcPOShipLine
		{
			get	
			{	
				if (SrcPOShipLine_SKey == null)
					return UFSoft.UBF.Business.Entity.EmptyObjectValue ;
				else
					return SrcPOShipLine_SKey.ID ;
			}
			set	
			{	
				if (value == 0 || value == UFSoft.UBF.Business.Entity.EmptyObjectValue )
					SrcPOShipLine_SKey = null ;
				else
				{
					if (SrcPOShipLine_SKey == null )
						SrcPOShipLine_SKey = new UFSoft.UBF.Business.BusinessEntity.EntityKey(value,"UFIDA.U9.PM.PO.POShipLine") ;
					else
						SrcPOShipLine_SKey.ID = value ;
				}
			}
		}
		

				/// <summary>
		/// 实体扩展字段集合
		/// 送货单行.Misc.实体扩展字段集合
		/// </summary>
		[DataMember(IsRequired=false)]
		private UFIDA.U9.Base.FlexField.DescFlexField.DescFlexSegmentsData m_descFlexField ;
		public UFIDA.U9.Base.FlexField.DescFlexField.DescFlexSegmentsData DescFlexField
		{
			get	
			{	
				return m_descFlexField  ;
			}
			set	
			{	
				m_descFlexField = value ;	
			}
		}
		
		#endregion	

		#region Multi_Fields
																		
		#endregion 		
	}	

}

